package cn.yitun.chat.yitunserverimapicore.business.user.service;

import cn.yitun.chat.yitunservercommonlib.crud.yitun.CrudService;
import cn.yitun.chat.yitunservercommonlib.dataentity.dto.system.user.UserDto;
import cn.yitun.chat.yitunservercommonlib.dataentity.po.system.user.UserInfo;
import cn.yitun.chat.yitunservercommonlib.dataentity.vo.system.user.UserVo;

import java.util.List;

/**
 * 
 * Date 2019-01-20 12:35:32<br>
 * Description
 * 
 * @author yitun
 * @since 1.0.0
 */
public interface UserService
		extends CrudService<UserDto, UserInfo, UserVo>{


	/**
	 * 
	 * Date 2019-01-20 13:07:08<br>
	 * Description 获取用户信息
	 * 
	 * @author yitun
	 * @param id
	 * @return
	 * @since 1.0.0
	 */
	UserVo getUserDataById(Long id);

	/**
	 * 
	 * Date 2019-01-20 13:07:25<br>
	 * Description 条件分页查询
	 * 
	 * @author yitun
	 * @param userQuery
	 * @return
	 * @since 1.0.0
	 */
	List<UserVo> queryUserDataList(UserDto userQuery) ;

	void removeUser(Long userId);

	void setUserStatus(List<UserDto> userDataList);

	void setUserStatus(UserDto userData);

	///////////////////////////////////////////////////////////////////////////////////////

	void sendUserChatOnlineStatus(Long userId, String status);

	List<UserVo> getUserDataList(List<Long> userIds);
}
